package com.pz.cloud.framework.business.stdGroup.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.pz.cloud.framework.base.model.BaseEntity;
import com.pz.cloud.framework.base.model.WorkflowEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

@Data
@TableName("org_std_group")
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "org_std_group", description = "学生组织")
public class OrgStdGroup extends WorkflowEntity {
    /**
     * id
     */
    @TableId(type = IdType.ASSIGN_UUID)
    @ApiModelProperty(value = "id")
    private String id;
    /**
     * 所属部门code
     */
    @ApiModelProperty(value = "部门code")
    private String sysOrgCode;
    /**
     * 所属部门code
     */
    @Excel(name = "所属部门", width = 15)
    @ApiModelProperty(value = "所属部门",required = true)
    private String departName;

    @Excel(name = "名称", width = 15)
    @ApiModelProperty(value = "名称")
    private String name;

    @Excel(name = "负责人", width = 15)
    @ApiModelProperty(value = "负责人")
    private String director;//负责人

    @ApiModelProperty(value = "负责人学号" ,hidden = true)
    @TableField(exist = false)
    private String directorNo;//负责人学号,用于导入

    @ApiModelProperty(value = "负责人id")
    private String directorId;

    @Excel(name = "指导老师", width = 15)
    @ApiModelProperty(value = "指导老师")
    private String instructor;

    @ApiModelProperty(value = "指导老师id")
    private String instructorId;

    @ApiModelProperty(value = "指导老师工号")
    @TableField(exist = false)
    private String instructorNo;

    @ApiModelProperty(value = "图片列表")
    private String pics;

    @ApiModelProperty(value = "附件列表")
    private String enclosures;

    @ApiModelProperty(value = "成立时间")
    @Excel(name = "成立时间", width = 15,format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date buildTime;

    @ApiModelProperty(value = "解散时间")
    @Excel(name = "解散时间", width = 15,format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date dismissTime;

    /**学院*/
    @ApiModelProperty(value = "学院")
    @TableField(exist = false)
    private String college;

    /**专业*/
    @ApiModelProperty(value = "专业")
    @TableField(exist = false)
    private String major;

    /**年级*/
    @ApiModelProperty(value = "年级")
    @TableField(exist = false)
    private String grade;

    /**班级*/
    @ApiModelProperty(value = "班级")
    @TableField(exist = false)
    private String clazz;

}
